package com.lj.back.manage.scaffold.module.kaptcha.service;

import com.lj.back.manage.scaffold.common.constant.Constant;
import com.lj.back.manage.scaffold.common.enums.ResponseEnum;

/**
 * 图形验证码service接口
 * @author lv
 * @version 1.0.0
 */
public interface KaptchaService {

    /**
     * 记录验证码
     * @param key 存储key
     * @param code 验证码
     * @param expireTime 过期时间  单位秒
     * @return 是否成功
     */
     boolean record(String key, String code,long expireTime);

    /**
     * 校验验证码
     * @param key 存储key
     * @param code 验证码
     * @return 校状态码校验枚举类
     */
     ResponseEnum valid(String key, String code);

    /**
     * 记录验证码
     * @param key 存储key
     * @param code 验证码
     * @return 是否成功
     */
     default boolean record(String key, String code){
        return record(key,code, Constant.CODE_DEFAULT_EXPIRE_TIME_GRAPH);
     }

    /**
     * 删除验证码记录
     * @param key key
     * @return 是否成功
     */
     boolean delete(String key);

    /**
     * 获取验证码
     * @param key
     * @return
     */
     String getCode(String key);
}
